import {TaskPoolTaskBase} from "./TaskPoolTaskBase";
import {StartTaskStatus} from "./StartTaskStatus";

export interface ITaskAgent<T extends TaskPoolTaskBase> {
    Task():T;
    Initialize():void;
    Update( elapseSeconds:number,  realElapseSeconds:number):void;
    Shutdown():void;
    Reset():void;
    Start(task:T):StartTaskStatus;
}